In these years, packet-based radio communications techniques have been widely used. Packet-based radio communications techniques include Worldwide Interoperability for Microwave Access (WiMAX) and wireless LAN. A newer generation of radio communications techniques enjoys a larger transmission capacity. On the other hand, reception in communications devices is hard real-time processing. In hard real-time processing, if processing does not end within a predetermined time, the data that cannot be processed are lost. Thus, as the transmission capacity increases year by year, the importance of techniques for increasing reception throughput in the radio communications technology increases year by year.
A description is given of packet-based radio communications techniques. By way of example, a description is given herein of WiMAX.
FIG. 1 is a diagram illustrating a packet configuration. As an example of the packet, FIG. 1 illustrates a medium access control-protocol data unit (MAC-PDU). Referring to FIG. 1, the MAC-PDU includes a generic MAC header (GMH) 800, an extended subheader 820, a packet number (PN) 830, an encrypted payload 840, a message authentication code (MAC) 850, and a cyclic redundancy check (CRC) 860 (an error-detecting code). The CRC 860 may include CRC-32.
The GMH 800 includes header information. The extended subheader 820 is an extended header. The extended subheader 820 includes additional control information that is not included in the GMH 800. For example, the first byte of the extended subheader 820 includes the data length of the extended subheader 820. For example, the data length of the extended subheader 820 may be up to 255 bytes. The MAC-PDU has a maximum data length of 2047 bytes. This data length is from the start of the GMH 800 to the end of the CRC 860.
FIG. 2 is a diagram illustrating the GMH 800. Referring to FIG. 2, the GMH 800 includes a header type (HT) 801, an encryption control (EC) 802, a Type 803, an extended subheader field (ESF) 804, a CRC indicator (CI) 805, an encryption key sequence (EKS) 806, a reserved field (RSV) 807, a subfield data length (LEN) of a most significant bit (MSB) 810, a subfield data length (LEN) of a least significant bit (LSB) 809, a connection identifier (CID) of MSB 810, a connection identifier (CID) of LSB 811, and a header check sequence (HCS) 812 (an error-detecting code).
The Type 803 includes a subheader type. LEN includes the data length of the MAC-PDU. The HCS 812 is included in the sixth byte of the GMH 800. For example, the HCS 812 is generated so as to produce zero (0) as an HCS check result if there is no data corruption in the GMH 800.
FIG. 3 is a diagram illustrating the extended subheader 820. Referring to FIG. 3, the extended subheader 820 includes an extended subheader group length 821, one or more reserved fields (Rsv) 822, one or more extended subheader type fields 823, and one or more extended subheader body fields 824.
A description is given of reception in communications devices. Here, by way of example, a description is given of WiMAX lower MAC downlink reception. This processing may be implemented with hardware, for example.
FIG. 4 is a block diagram illustrating part of a radio communications device. Referring to FIG. 4, a communications device 50 includes a MAC-PDU extraction part 2, a CRC error check part 10, and an encrypted data processing part 18. The MAC-PDU extraction part 2 includes a frame memory 4 and a MAC-PDU extraction core part 6. The MAC-PDU extraction core part 16 includes an HCS check part 8. The CRC error check part 10 includes a CRC check circuit 12, a MAC-PDU retention memory 14, and a PDU output part 16. The encrypted data processing part 18 includes a decryption part 20 and a packet number (PN) window processing part 22.
In the MAC-PDU extraction part 2, a MAC-P DU is extracted from data in the frame memory 4. For example, a forward error correction (FEC) block is input to the frame memory 4. The MAC-PDU extraction core part 6 locates a GMH among the data in the frame memory 4. Then, the HCS included in the GMH is checked in the HCS check part 8. The MAC-PDU extraction core part 6 extracts a packet of another unit called a MAC-PDU up to 2047 bytes based on the information included in the GMH including the HCS determined to be correct.
The MAC-PDU extraction core part 6 inputs the MAC-PDU having the GMH including the HCS determined to be correct to the CRC error check part 10. The CRC check circuit 12 stores the input MAC-PDU in the MAC-PDU retention memory 14. Then, the CRC check circuit 12 checks the CRC included in the MAC-PDU. If the CRC check result is NOT CORRECT (NG), this means that there is a data corruption in the MAC-PDU. This CRC check result is input to the PDU output part 16.
The PDU output part 16 may input the MAC-PDU stored in the MAC-PDU retention memory 14 along with the CRC check result to the encrypted data processing part 18. Alternatively, the PDU output part 16 may input the MAC-PDU stored in the MAC-PDU retention memory 14 to the encrypted data processing part 18 if the CRC check result of the MAC-PDU is correct.
The decryption part 20 extracts and decrypts the encrypted payload included in the input MAC-PDU. For example, the decryption part 20 divides the MAC-PDU into a GMH, extended subheader (ESH), packet number (PN), encrypted payload, and message authentication code. Then, the decryption part 20 decrypts the encrypted payload. On the other hand, the packet number window processing part 22 performs packet number window processing based on the packet number.
The encrypted data processing part 18 reconstructs the divided MAC-PDU. This reconstructed MAC-PDU includes a decrypted payload that is produced from the decrypted payload by the decryption part 20.
A description is given, with reference to FIG. 5 as well as FIG. 4, of a flow of reception in communications devices. This processing may be implemented with software.
Referring to FIG. 5, in step S502, a GMH is extracted from data contained in the frame memory 4.
In step S504, the HCS included in the GMH is checked.
If the HCS is not correct (NO in step S504), a MAC-PDU having the GMH including the HCS is discarded. On the other hand, if the HCS is correct (YES in step S504), in step S505, CRC calculation is performed.
In step S508, the CRC is checked.
If the CRC is not correct (NO in step S508), the MAC-PDU including the CRC is discarded. On the other hand, if the CRC is correct (YES in step S508), in step S510, packet number window processing is performed.
In step S512, decryption is performed. For example, an encrypted payload is decrypted.
Reference may be made to, for example, the following documents for related techniques.
[Non-Patent Document 1] IEEE Std 802.16™-2004
[Non-Patent Document 2] IEEE Std 802.16™-2005 and IEEE Std 802.16™-2004/Cor1-2005